package com.alibaba.citrus.ots.application.report.ability.repository;

import com.alibaba.lattice2.epoch.sdk.model.Result;
import com.epoch.app.crunifiedinventory.domain.allocateorder.model.AllocateOrder;
import com.epoch.app.crunifiedinventory.domain.allocateorderdetail.model.AllocateOrderDetail;
import com.epoch.app.crunifiedinventory.model.dto.MonthOrderQuantitySDO;
import com.epoch.app.crunifiedinventory.model.dto.WmsOrder;
import com.epoch.app.otsapplicationreportsdk.model.dto.CommPageQueryRequest;

import java.util.List;

/**
 * @author zhoubc
 * @description: TODO
 * @date 2022/1/14 16:06
 */
public interface AllocateOrderDetailRepository {

    Integer statisticalOrderQuantityGroupByCreateGetTotal(CommPageQueryRequest request);

    Result<List<MonthOrderQuantitySDO>> statisticalOrderQuantityGroupByCreate(CommPageQueryRequest request);

    Result<List<MonthOrderQuantitySDO>> pageQueryAllocateOrderList(CommPageQueryRequest request);

    Result<List<AllocateOrderDetail>> statisticalAllocateOrderGroupByOrgScItem(CommPageQueryRequest request);

    Result<List<AllocateOrder>> queryAllocateOrderIdsByNotReturn(CommPageQueryRequest request);

    Result<List<WmsOrder>> queryOutinOrdersByOutAllocateOrderIds(List<String> outAllocateOrderIds,Integer start,Integer limit);

    //List<MonthOrderQuantitySDO> statisticalAccumulativeOrderQuantityByOrg(CommPageQueryRequest request);

}
